使用页面 (Page) 节点在应用程序中创建用户界面结构,使用主页面 (Page Host) 节点管理主页面 (Page Host) 节点下页面 (Page) 节点之间的导航请求和迁移。例如,您可以使用页面 (Page) 和主页面 (Page Host) 节点在 Kanzi 应用程序中创建用户界面的不同部分,例如主页面 (Page Host) 节点-Home、Media、 或Settings 屏幕,每个都有其自身的页面 (Page) 和主页面 (Page Host) 节点层次。
您可以嵌套主页面 (Page Host) 节点,以创建应用程序用户界面的结构。例如,您可以使用一个主页面 (Page Host) 节点管理在应用程序用户界面的根级进行的导航,例如 Home、Media、 与 Settings 之间的迁移,并为其添加子主页面 (Page Host) 节点,每个子节点都管理自己的页面 (Page) 节点层级,例如 Media 主页面 (Page Host) 节点的页面 (Page) 节点。
请完成教程,以了解如何使用页面 (Page) 和主页面 (Page Host) 节点创建应用程序。请参阅教程:使用页面 (Page) 节点创建应用程序流。
当页面 (Page) 节点处于活动状态时,它的所有祖先 页面 (Page) 和 主页面 (Page Host) 节点也将处于活动状态。当页面 (Page) 或主页面 (Page Host) 节点处于活动状态时,它的所有内容以及它所有祖先页面 (Page) 和主页面 (Page Host) 节点的内容将可见并允许用户与其进行交互。在一个简单的使用案例中,层级中只有一个页面 (Page) 节点处于活动状态。但您可以在层级中同时激活一个以上的页面 (Page) 或主页面 (Page Host) 节点,以构建一个复杂的结构。要实现目的,请在所有要自动激活的页面 (Page) 和主页面 (Page Host) 节点中启用 保持活动状态 (Keep Active) 属性。当类节点的父页面 (Page) 或主页面 (Page Host) 节点激活时,它们会自动激活。
主页面 (Page Host) 节点会在自己的范围内跟踪当前激活的页面 (Page) 或主页面 (Page Host) 节点。当激活主页面 (Page Host) 节点时,主页面 (Page Host) 节点会在自己的范围内自动激活当前激活的页面 (Page) 或主页面 (Page Host) 节点。这样可以使主页面 (Page Host) 节点记住其状态并在激活期间将状态恢复到停用前的状态。
主页面 (Page Host) 节点会处理页面 (Page) 节点之间的导航和迁移。因此,您必须放置一个主页面 (Page Host) 节点作为页面 (Page) 节点树层级的祖先。要在页面 (Page) 节点之间导航,请让导航系统导航到所选的页面。当导航到一个页面 (Page) 节点时,Kanzi 会使节点迁移到可见(激活)状态,节点的内容将对用户可见。当离开一个页面 (Page) 节点时,Kanzi 会使节点迁移到不可见(停用)状态,节点的内容将不再对用户可见。Kanzi 支持在页面 (Page) 节点之间进行动画化迁移(随着时间的推移)和即时迁移(立即)。请参阅设置页面 (Page) 与主页面 (Page Host) 节点之间的迁移。
将主页面 (Page Host) 节点设置为页面 (Page) 节点的祖先时,主页面 (Page Host) 节点会倾听其子孙页面 (Page) 节点的导航请求。当主页面 (Page Host) 节点收到导航请求时,它会开始向页面 (Page) 节点进行导航,后者会发出一条消息。导航过程需要解析当前激活的页面 (Page) 或主页面 (Page Host) 节点到目标页面 (Page) 或主页面 (Page Host) 节点的线路,然后在导航线路中的页面 (Page) 节点之间执行迁移,直到目标页面 (Page) 或主页面 (Page Host) 节点激活为止。每个主页面 (Page Host) 节点管理着自己范围内的导航,而且不会干扰其他的主页面 (Page Host) 节点。
主页面 (Page Host) 节点支持在自己范围内的下一个和上一个页面 (Page) 和主页面 (Page Host) 节点之间进行导航。例如,这样即可使用按键输入来构建导航支持。通过启用循环子页 (Loop Subpages) 属性,您可以进一步配置功能,以设置当导航到下一个和上一个页面 (Page) 和主页面 (Page Host) 时,您希望主页面 (Page Host) 节点从最后一个页面 (Page) 节点向第一个节点循环还是从第一个节点向最后一个节点循环。
使用页面 (Pages) 窗口创建和管理您的应用程序结构。
要使用页面 (Pages) 窗口创建应用程序结构:
要在 页面 (Pages) 窗口中平移和放大,请使用以下快捷键件:
动作 | 快捷键 |
---|---|
平移 |
|
缩放 |
|
要查看应用程序中页面 (Page) 和主页面 (Page Host) 节点的整个结构,在页面 (Pages) 窗口中点击 。
您点击页面 (Pages) 窗口中的任意页面 (Page) 或主页面 (Page Host) 节点时,Kanzi 迁移到该节点,您可以在预览 (Preview) 中查看该迁移。
如果只想在预览 (Preview) 中查看选定页面 (Page) 或主页面 (Page Host) 节点的内容,在页面 (Pages) 中双击该节点,Kanzi Studio 会在其自身选项卡的预览 (Preview) 中打开。
要设置 2D 节点的外观:
要迁移到选定的页面节点:
//在主页面范围内查找子页面。 PageSharedPtr subPage = host->lookupNode<Page>(path); //请求对给定的页面执行动画化迁移。 subPage->navigate();
要立即迁移到选定的页面节点:
//执行立即迁移,而不播放动画。 subPage->navigate(true);
有关详细信息,请参阅 API reference中的 Page
类。
要迁移到选定的页面节点:
//在主页面范围内查找子页面。 PageSharedPtr subPage = host->lookupNode<Page>(path); //请求对给定的页面执行动画化迁移。 subPage->navigate();
要立即迁移到选定的页面节点:
//执行立即迁移,而不播放动画。 subPage->navigate(true);
要获取当前激活的 Page 或 PageHost 子孙节点:
//检索当前激活的子页面。 PageSharedPtr currentSubPage = host->getDefaultChild();
要从当前子页面迁移到下一个子页面:
//请求从当前激活的页面向下一个子页面执行动画化迁移。 PageHost::NavigateNextMessageArguments args; host->dispatchMessage(PageHost::NavigateNextMessage, args);
有关详细信息,请参阅 API reference中的 PageHost
类。
要查看 页面 (Page) 节点可用属性类型和消息的完整列表,请参阅Page。
要查看 主页面 (Page Host) 节点可用属性类型和消息的完整列表,请参阅Page host。